package com.zb.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 工单模块表
 * </p>
 *
 * @author WEN
 * @since 2024-03-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="ZjWorkModule对象", description="工单模块表")
public class ZjWorkModule implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主健ID")
    private Long id;

    @ApiModelProperty(value = "商家ID")
    private Long custAccId;

    @ApiModelProperty(value = "模块类型：1-安装，2-维修，3-保养，4-其他")
    private Integer type;

    @ApiModelProperty(value = "模块名称")
    private String name;

    @ApiModelProperty(value = "质保天数")
    private Integer warrantyDay;

    @ApiModelProperty(value = "质保状态，是否保外：0-否、保内，1-是、保外")
    @TableField("is_overinsured")
    private Boolean overinsured;

    @ApiModelProperty(value = "保内费用")
    private BigDecimal inSourcingPrice;

    @ApiModelProperty(value = "保外费用")
    private BigDecimal outSourcingPrice;

    @ApiModelProperty(value = "拨打电话类型：0-关闭，1-必须拨打")
    private Integer callPhoneType;

    @ApiModelProperty(value = "预约时间类型：1-不启用，2-24小时，3-预约时间范围")
    private Integer reservationTimeType;

    @ApiModelProperty(value = "预约开始时间")
    private Date reservationStartTime;

    @ApiModelProperty(value = "预约结束时间")
    private Date reservationEndTime;

    @ApiModelProperty(value = "是否启用质保工单：0-否，1-是")
    @TableField("is_enable_warranty_order")
    private Boolean enableWarrantyOrder;

    @ApiModelProperty(value = "是否移动报单端展示：0-否，1-是")
    @TableField("is_mobile_create_order_show")
    private Boolean mobileCreateOrderShow;

    @ApiModelProperty(value = "是否自动分配客服：0-否，1-是")
    @TableField("is_auto_dispatch_client")
    private Boolean autoDispatchClient;

    @ApiModelProperty(value = "工单客服分派策略表ID")
    private Long workClientStrategyId;

    @ApiModelProperty(value = "是否自动分配服务商：0-否，1-是")
    @TableField("is_auto_dispatch_network")
    private Boolean autoDispatchNetwork;

    @ApiModelProperty(value = "是否启用结单核销码：0-否，1-是")
    @TableField("is_enable_statement_verif_code")
    private Boolean enableStatementVerifCode;

    @ApiModelProperty(value = "核销码类型：1-随机，2-固定；当is_enable_statement_verif_code=1时生效")
    private Integer statementVerifCodeType;

    @ApiModelProperty(value = "是否启用签到：0-否，1-是")
    @TableField("is_enable_sign")
    private Boolean enableSign;

    @ApiModelProperty(value = "签到方式：1-定位签到，2-拍照签到")
    private Integer signType;

    @ApiModelProperty(value = "签到范围限制：1-有限制，2-不限制")
    private Integer signRangeType;

    @ApiModelProperty(value = "签到范围，单位：米，当sign_type=1且sign_range_type=1时生效")
    private Integer signRange;

    @ApiModelProperty(value = "是否启用拍照防伪作弊水印：0-否，1-是，当sign_type=2时生效")
    @TableField("is_enable_security_watermark")
    private Boolean enableSecurityWatermark;

    @ApiModelProperty(value = "是否启用挂起工单：0-否，1-是")
    @TableField("is_enable_suspend")
    private Boolean enableSuspend;

    @ApiModelProperty(value = "是否自动挂起审核通过：0-人工审核，1-自动审核通过，当is_enable_suspend=1时生效")
    @TableField("is_auto_check_suspend")
    private Boolean autoCheckSuspend;

    @ApiModelProperty(value = "收货客户商品单价")
    private BigDecimal collectCustomerGoodsPrice;

    @ApiModelProperty(value = "是否禁用：0-否，1-是")
    @TableField("is_disabled")
    private Boolean disabled;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date gmtCreate;

    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.INSERT)
    private Date gmtUpdate;


}
